KVC 全称是 Key Value Coding,是指通过setValue:forKey:
和valueForKey:
、valueForKeyPath:
的方式动态获取和设置一个对象的属性。
KVO 全称是 Key Value Observing,通过 KVC 可以监听一个对象的属性的变化,常用方法如下
- 注册指定Key路径的监听器:
addObserver: forKeyPath: options: context:
- 删除指定Key路径的监听器:
removeObserver: forKeyPath
、removeObserver: forKeyPath: context:
- 回调监听:
observeValueForKeyPath: ofObject: change: context:
KVO的使用步骤也比较简单:
通过addObserver: forKeyPath: options: context:
为被监听对象(它通常是数据模型)注册监听器
重写监听器的observeValueForKeyPath: ofObject: change: context:
方法